package noyau;

import java.io.*;
import java.util.ArrayList;

/**
 * Created with IntelliJ IDEA.
 * User: Matthieu
 * Date: 11/04/12
 * Time: 19:06
 * To change this template use File | Settings | File Templates.
 */
public class RegroupClass implements Serializable {
    private  ArrayList<Classement> regroup;
    public RegroupClass(){
        this.regroup=new ArrayList<Classement>();

    }
    public int retrouverClassement(Test te) {

        int i=0;
        while (i<regroup.size()) {
        if (regroup.get(i).getName().equals(te.getNom())){
            return i;
            }
         i++;
        }
        return -1;
    }
    public void ajouterClassement(Classement cla) throws IOException {
        regroup.add(cla);
        sauvegarder();
    }
    public boolean sauvegarder() throws IOException {
        FileOutputStream test = new FileOutputStream("dataClass");
        ObjectOutputStream oos4 = new ObjectOutputStream(test);

        try {
            oos4.writeObject(this.regroup);

            oos4.flush();
            oos4.close();
            return true;
        } catch (IOException e) {
            System.out.println("Problème d'écriture.");
            oos4.close();
            return false;
        }
    }

    /**
     * Lance le chargement des listes de trajet et de véhicule du serveur Pour
     * lire les données, on récupère directement les listes à partir du fichier.
     *
     * @return true si le chargement a réussi, false sinon
     * @throws Exception
     */
    public boolean charger() throws IOException, ClassNotFoundException {
        FileInputStream test = null;
        ObjectInputStream oos4 = null;

        try {
            test = new FileInputStream("dataClass");
            oos4 = new ObjectInputStream(test);

            this.regroup = (ArrayList<Classement>) oos4.readObject();

            oos4.close();
            return true;
        } catch (Exception e) {
            System.out.println("Problème de lecture.");
            return false;
        }
    }

    public ArrayList<Classement> getRegroup() {
        return regroup;
    }
}
